#ifndef __SPI_INTERFACE_H__
#define __SPI_INTERFACE_H__

#include "spi.h"
#include "dma.h"


void SpiTransmitReceiveByte( SPI_HandleTypeDef* spi, uint8_t* txData, uint8_t* rxData  );

void SpiTransmitByte( SPI_HandleTypeDef* spi, uint8_t* txData  );

void SpiReceiveByte( SPI_HandleTypeDef* spi, uint8_t* rxData  );

void SpiTransmitReceiveByteDMA( SPI_HandleTypeDef* spi, uint8_t* txData, uint8_t* rxData);

void SpiTransmitByteDMA( SPI_HandleTypeDef* spi, uint8_t* txData );

void SpiReceiveByteDMA( SPI_HandleTypeDef* spi, uint8_t* rxData );

void SpiTransmitReceive( SPI_HandleTypeDef* spi, uint8_t* txData, uint8_t* rxData, uint16_t len  );

void SpiTransmit( SPI_HandleTypeDef* spi, uint8_t* txData, uint16_t len  );

void SpiReceive( SPI_HandleTypeDef* spi, uint8_t* rxData, uint16_t len  );

void SpiTransmitReceiveDMA( SPI_HandleTypeDef* spi, uint8_t* txData, uint8_t* rxData, uint16_t len );

void SpiTransmitDMA( SPI_HandleTypeDef* spi, uint8_t* txData, uint16_t len );

void SpiReceiveDMA( SPI_HandleTypeDef* spi, uint8_t* rxData, uint16_t len );

#endif // !__SPI_INTERFACE_H__
